package com.ease.platform.common.action;

import com.ease.platform.usercontext.util.UserContextThreadLocal;
import com.ease.platform.usercontext.vo.UserContext;
import com.ease.web.struts2.ServletAction;

public abstract class AbstractAction extends ServletAction {

	/**
	 *
	 */
	private static final long serialVersionUID = -9180097839210242258L;

	// private UserContext anonymousUserContext;

	// public long[] convertionToLong(String[] strs) {// 将String数组转换为Long类型数组
	// long[] longs = new long[strs.length]; // 声明long类型的数组
	// for (int i = 0; i < strs.length; i++) {
	// String str = strs[i]; // 将strs字符串数组中的第i个值赋值给str
	// long thelong = Long.valueOf(str);// 将str转换为long类型,并赋值给thelong
	// longs[i] = thelong;// 将thelong赋值给 longs数组中对应的地方
	// }
	//
	// return longs; // 返回long数组
	// }

	protected boolean debug;

	// private DictionaryAccessService dictionaryAccessService;
	//
	// private EnumerableModelManagementService
	// enumerableModelManagementService;
	//
	// private SystemManagementPreferenceLoader
	// systemManagementPreferenceLoader;
	//
	// public String getSystemVersion() {
	// return systemManagementPreferenceLoader.getSystemVersion();
	// }
	//
	// @Deprecated
	// protected UserContext getAnonymousUserContext() {
	// if (null == anonymousUserContext) {
	// anonymousUserContext = new UserContext();
	//
	// User user = new User();
	// user.setName("Anonymous");
	// anonymousUserContext.setUser(user);
	//
	// anonymousUserContext.setOperator("anonymous");
	// }
	//
	// return anonymousUserContext;
	// }
	//
	public UserContext getUserContext() {
		UserContext userContext = UserContextThreadLocal.getUserContext();
		if (null != userContext) {
			return userContext;
		}
		return null;
	}

	//
	// public User getUser() {
	// UserContext userContext = getUserContext();
	// user = userContext.getUser();
	// return user;
	// }
	//
	// public void setUser(User user) {
	// this.user = user;
	// }
	//
	// public List<Dictionary> findDictionarys(String dictionaryTypeCode) {
	// return
	// dictionaryAccessService.findByDictionaryTypeCode(dictionaryTypeCode,
	// this.getUserContext());
	// }
	//
	// public Dictionary findDictionary(String dictionaryTypeCode, String value)
	// {
	// if (StringUtils.isEmpty(value))
	// return null;
	// else
	// return findDictionary(dictionaryTypeCode, new Short(value));
	// }
	//
	// public Dictionary findDictionary(String dictionaryTypeCode, short value)
	// {
	// List<Dictionary> dictionarys =
	// dictionaryAccessService.findByDictionaryTypeCode(dictionaryTypeCode,
	// this.getUserContext());
	// if (Detect.notEmpty(dictionarys)) {
	// for (Dictionary dictionary : dictionarys) {
	// if (dictionary.getMetaDictionary().getValue() == value) {
	// return dictionary;
	// }
	// }
	// }
	// return null;
	// }
	//
	// public String findDictionaryName(long dictionaryId) {
	// Dictionary dictionary = dictionaryAccessService.findById(dictionaryId,
	// this.getUserContext());
	// if (null != dictionary) {
	// return dictionary.getName();
	// }
	// return null;
	// }
	//
	// public List<EnumerableModel> findEnumerableModels(String
	// enumerableModelName) {
	// List<?> cachedEnumerableModels =
	// enumerableModelManagementService.getByKey(enumerableModelName,
	// this.getUserContext());
	// if (Detect.notEmpty(cachedEnumerableModels) &&
	// cachedEnumerableModels.get(0) instanceof EnumerableModel) {
	// List<EnumerableModel> enumerableModels = new
	// ArrayList<EnumerableModel>();
	// for (Object enumerableModel : cachedEnumerableModels) {
	// enumerableModels.add((EnumerableModel) enumerableModel);
	// }
	// return enumerableModels;
	// }
	// return null;
	// }
	//
	// public EnumerableModel findEnumerableModel(String enumerableModelName,
	// long enumerableModelId) {
	// List<EnumerableModel> enumerableModels =
	// findEnumerableModels(enumerableModelName);
	// if (Detect.notEmpty(enumerableModels)) {
	// for (EnumerableModel enumerableModel : enumerableModels) {
	// if (enumerableModel.getId() == enumerableModelId) {
	// return enumerableModel;
	// }
	// }
	// }
	// return null;
	// }
	//
	// public DictionaryAccessService getDictionaryAccessService() {
	// return dictionaryAccessService;
	// }
	//
	// public void setDictionaryAccessService(DictionaryAccessService
	// dictionaryAccessService) {
	// this.dictionaryAccessService = dictionaryAccessService;
	// }
	//
	// public EnumerableModelManagementService
	// getEnumerableModelManagementService() {
	// return enumerableModelManagementService;
	// }
	//
	// public void
	// setEnumerableModelManagementService(EnumerableModelManagementService
	// enumerableModelManagementService) {
	// this.enumerableModelManagementService = enumerableModelManagementService;
	// }

	public boolean isDebug() {
		return debug;
	}

	public void setDebug(boolean debug) {
		this.debug = debug;
	}

}
